package com.carrent.sys.task;

import com.carrent.sys.constast.SysConstast;
import com.carrent.sys.utils.AppFileUtils;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.io.File;

/**
 * 定时处理临时文件（spring临时任务）
 *
 */
@Component
@EnableScheduling   //开启定时任务
public class RecyleTempFileTask {
    /**
     * 每天晚上12点执行
     * 秒分时天月周
     */
    @Scheduled(cron="0 37 10 * * ? ")
    public void recyleTempFile() {
        File file=new File(AppFileUtils.PATH);
        deleteFile(file);
    }

    /**
     * 删除图片
     * @param file
     */
    public void deleteFile(File file) {
        if(null!=file) {
            File[] listFiles = file.listFiles();
            if(null!=listFiles&&listFiles.length>0) {
                for (File f : listFiles) {
                    if(f.isFile()) {
                        if(f.getName().endsWith(SysConstast.FILE_UPLOAD_TEMP)) {
                            f.delete();
                        }
                    }else {
                        //如果是文件夹，再递归删除
                        deleteFile(f);
                    }
                }
            }
        }
    }
}
